package model

import (
	"time"
)

type MessageToUser struct {
	Mid          int       `json:"mid"`
	Avatar       string    `json:"avatar"`
	Type         int       `json:"type"`
	RelatedName  string    `json:"related_name"` //发送者名字
	RID          int       `json:"rid"`          //接收者
	Info         string    `json:"title"`        //发送的信息
	ExtraContent string    `json:"content"`      //额外信息remark
	State        int       `json:"state"`        //读取状态
	ApproverID   int       `json:"approver_id"`
	ApproverName string    `json:"approver_name"`
	Mtime        time.Time `json:"mtime"` //发送时间
}
type Message struct {
	Mid          int       `gorm:"primary_key;column:mid"`
	Sid          int       `gorm:"not null;column:msg_sid"` //发送者id，对应msg_sender表,每种申请都依托于社团或活动
	Rid          int       `gorm:"not null;column:rid"`
	Lid          int       `gorm:"not null;column:lid"` //系统默认信息类型，对应system_msg表
	ExtraContent string    `gorm:"extra_content"`
	State        int       `gorm:"not null;column:state"`
	Approver     int       `gorm:"column:approver"`
	Mtime        time.Time `gorm:"not null;column:mtime"`
}

// 因为所有申请类型对涉及到活动或者社团
type MsgSender struct {
	ID    int    `gorm:"primary_key;column:id"`
	Type  int    `gorm:"not null;column:type"` //0-6
	SID   int    `gorm:"not null;column:sid"`
	SName string `gorm:"not null;column:sname"`
}

type SystemInfo struct {
	LID  int    `gorm:"not null;column:lid"`
	Info string `gorm:"not null;column:info"`
}
